home *** CD-ROM | disk | FTP | other *** search
- Path: HOPPER.ACM.ORG!news
- From: varnk@e62.diebold.com (Ken Varn)
- Newsgroups: comp.lang.c
- Subject: Re: Reversing printf conversion
- Date: 1 Apr 1996 14:29:57 GMT
- Organization: Diebold
- Message-ID: <4jop95$an4@HOPPER.ACM.ORG>
- References: <4jkdgq$fds@netnews.upenn.edu>
- NNTP-Posting-Host: 199.218.232.47
- Mime-Version: 1.0
- Content-Type: Text/Plain; charset=US-ASCII
- X-Newsreader: WinVN 0.99.7
-
- In article <4jkdgq$fds@netnews.upenn.edu>, fitz@force.stwing.upenn.edu
- says...
- />
- />I need to 'undo' the following (read in the file, and place it back in
- />'integer' from the file).
- />
- />static void WriteBigInteger (file, integer, integerLen)
- />FILE *file;
- />unsigned char *integer;
- />unsigned int integerLen;
- />{
- /> for (; integerLen > 0; integerLen--)
- /> fprintf (file, "%02x", (unsigned int)(*integer++));
- />}
- />
- />
- />I have tried the following approach to no avail:
- />
- /> unsigned char line[200]; /* number not impt */
- /> unsigned char *ptr;
- /> ptr=line;
- />
- /> fgets(line,200,file);
- /> for (; integerLen > 0; integerLen--){
- /> sprintf(ptr,"%02x",integer++);
- /> ptr++;
- /> ptr++;
- /> }
- />
- />
- />Is there a better way? (that works). I have exhaustd over 16 hours on
- />this one damn problem...I _KNOW_ I am doing this wrong somehow.
- />
-
- I am not sure if I exactly get what you are trying to do, but I'll take a
- stab at it. If you are trying to duplicate your file write to a string,
- change your code as follows.
-
- unsigned int integer[200]; /* number not impt */
- int *ptr;
-
- ptr = integer;
-
- for (; integerLen > 0; integerLen--){
- fscanf(file,"%2x",ptr++);
- }
-
-